#ifndef __PUBLIC_H__
#define __PUBLIC_H__

#include "menu_frame.h"

/* keypad类型 */
typedef enum
{
    /* 固定功能按键 */
    EN_USER_KEY_0,
    EN_USER_KEY_1,
    EN_USER_KEY_2,
    EN_USER_KEY_3,
    EN_USER_KEY_4,
    EN_USER_KEY_5,
    EN_USER_KEY_6,
    EN_USER_KEY_7,
    EN_USER_KEY_8,
    EN_USER_KEY_9,
    EN_USER_KEY_STAR,
    EN_USER_KEY_POUND, /* 11 */

    EN_USER_KEY_HOLD,
    EN_USER_KEY_TRANSFER,
    EN_USER_KEY_MESSAGE,
    EN_USER_KEY_CONF,
    EN_USER_KEY_MUTING,
    EN_USER_KEY_REDIAL,
    EN_USER_KEY_VOLINC, /* vol+ */
    EN_USER_KEY_VOLDEC, /* vol- */
    EN_USER_KEY_SPEAKER,
    EN_USER_KEY_HEADSET,

    EN_USER_KEY_HOOK_ON,
    EN_USER_KEY_HOOK_OFF,

    EN_USER_KEY_MEM1,
    EN_USER_KEY_MEM_MIN = EN_USER_KEY_MEM1,
    EN_USER_KEY_MEM2,
    EN_USER_KEY_MEM3,
    EN_USER_KEY_MEM_MAX = EN_USER_KEY_MEM3,

    EN_USER_KEY_MULT_FUNC,

    /* 可编程功能按键 */
    EN_USER_KEY_NAVI_MIN,
    EN_USER_KEY_OK = EN_USER_KEY_NAVI_MIN,
    EN_USER_KEY_UP,
    EN_USER_KEY_DOWN,
    EN_USER_KEY_LEFT,
    EN_USER_KEY_RIGHT,
    EN_USER_KEY_NAVI_MAX = EN_USER_KEY_RIGHT,

    EN_USER_KEY_SOFT_MIN,
    EN_USER_KEY_SOFT1 = EN_USER_KEY_SOFT_MIN,
    EN_USER_KEY_SOFT2,
    EN_USER_KEY_SOFT3,
    EN_USER_KEY_SOFT4,
    EN_USER_KEY_SOFT_MAX = EN_USER_KEY_SOFT4,

    EN_USER_KEY_INVALID = 0xffff,
} EN_USER_KEY_TYPE;

int KEY_Init();
void KEY_GetKeyValue(ST_KEY_INFO *tKeyInfo);
void KEY_Exit();

#endif